home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.0 / PInterfaces / Dialogs.p < prev    next >
Encoding:
Text File  |  1995-04-18  |  11.7 KB  |  443 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Dialogs.p
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0.1 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Dialogs;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __DIALOGS__}
  30. {$SETC __DIALOGS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC DialogsIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __ERRORS__}
  38. {$I Errors.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __MEMORY__}
  43. {$I Memory.p}
  44. {$ENDC}
  45. {    Types.p                                                        }
  46. {    MixedMode.p                                                    }
  47.  
  48. {$IFC UNDEFINED __WINDOWS__}
  49. {$I Windows.p}
  50. {$ENDC}
  51. {    Quickdraw.p                                                    }
  52. {        QuickdrawText.p                                            }
  53. {    Events.p                                                    }
  54. {        OSUtils.p                                                }
  55. {    Controls.p                                                    }
  56. {        Menus.p                                                    }
  57.  
  58. {$IFC UNDEFINED __TEXTEDIT__}
  59. {$I TextEdit.p}
  60. {$ENDC}
  61.  
  62. {$IFC UNDEFINED __EVENTS__}
  63. {$I Events.p}
  64. {$ENDC}
  65.  
  66. {$PUSH}
  67. {$ALIGN MAC68K}
  68. {$LibExport+}
  69.  
  70. CONST
  71.     ctrlItem                    = 4;
  72.     btnCtrl                        = 0;
  73.     chkCtrl                        = 1;
  74.     radCtrl                        = 2;
  75.     resCtrl                        = 3;
  76.     statText                    = 8;
  77.     editText                    = 16;
  78.     iconItem                    = 32;
  79.     picItem                        = 64;
  80.     userItem                    = 0;
  81.     itemDisable                    = 128;
  82.     ok                            = 1;
  83.     cancel                        = 2;
  84.     stopIcon                    = 0;
  85.     noteIcon                    = 1;
  86.     cautionIcon                    = 2;
  87.  
  88. { new, more standard names for dialog item constants }
  89.     kControlDialogItem            = ctrlItem;
  90.     kButtonDialogItem            = ctrlItem + btnCtrl;
  91.     kCheckBoxDialogITem            = ctrlItem + chkCtrl;
  92.     kRadioButtonDialogItem        = ctrlItem + radCtrl;
  93.     kResourceControlDialogItem    = ctrlItem + resCtrl;
  94.     kStaticTextDialogItem        = statText;
  95.     kEditTextDialogItem            = editText;
  96.     kIconDialogItem                = iconItem;
  97.     kPictureDialogItem            = picItem;
  98.     kUserDialogItem                = userItem;
  99.     kItemDisableBit                = itemDisable;
  100.     kStdOkItemIndex                = ok;
  101.     kStdCancelItemIndex            = cancel;
  102.     kStopIcon                    = stopIcon;
  103.     kNoteIcon                    = noteIcon;
  104.     kCautionIcon                = cautionIcon;
  105.     
  106. {$IFC OLDROUTINENAMES}
  107.     kOkItemIndex                 = kStdOkItemIndex;
  108.     kCancelItemIndex             = kStdCancelItemIndex;
  109. {$ENDC}
  110.  
  111.     
  112. TYPE
  113.     DITLMethod = INTEGER;
  114.  
  115.  
  116. CONST
  117.     overlayDITL                    = 0;
  118.     appendDITLRight                = 1;
  119.     appendDITLBottom            = 2;
  120.  
  121.     
  122. TYPE
  123.     StageList = INTEGER;
  124.  
  125.     DialogPropertyTag = OSType;
  126.  
  127. {$IFC STRICT_WINDOWS }
  128.     DialogPtr = Ptr;
  129.  
  130.     DialogRef = Ptr;
  131.  
  132. {$ELSEC}
  133.     DialogPtr = WindowPtr;
  134.  
  135.     DialogRef = DialogPtr;
  136.  
  137. {$ENDC}
  138.     SoundProcPtr = ProcPtr;  { PROCEDURE Sound(soundNumber: INTEGER); }
  139.     ModalFilterProcPtr = ProcPtr;  { FUNCTION ModalFilter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
  140.     UserItemProcPtr = ProcPtr;  { PROCEDURE UserItem(theWindow: WindowPtr; itemNo: INTEGER); }
  141.     SoundUPP = UniversalProcPtr;
  142.     ModalFilterUPP = UniversalProcPtr;
  143.     UserItemUPP = UniversalProcPtr;
  144.  
  145. CONST
  146.     uppSoundProcInfo = $00000080; { PROCEDURE (2 byte param); }
  147.     uppModalFilterProcInfo = $00000FD0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 1 byte result; }
  148.     uppUserItemProcInfo = $000002C0; { PROCEDURE (4 byte param, 2 byte param); }
  149.  
  150. FUNCTION NewSoundProc(userRoutine: SoundProcPtr): SoundUPP;
  151.     {$IFC NOT GENERATINGCFM }
  152.     INLINE $2E9F;
  153.     {$ENDC}
  154.  
  155. FUNCTION NewModalFilterProc(userRoutine: ModalFilterProcPtr): ModalFilterUPP;
  156.     {$IFC NOT GENERATINGCFM }
  157.     INLINE $2E9F;
  158.     {$ENDC}
  159.  
  160. FUNCTION NewUserItemProc(userRoutine: UserItemProcPtr): UserItemUPP;
  161.     {$IFC NOT GENERATINGCFM }
  162.     INLINE $2E9F;
  163.     {$ENDC}
  164.  
  165. PROCEDURE CallSoundProc(soundNumber: INTEGER; userRoutine: SoundUPP);
  166.     {$IFC NOT GENERATINGCFM}
  167.     INLINE $205F, $4E90;
  168.     {$ENDC}
  169.  
  170. FUNCTION CallModalFilterProc(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; userRoutine: ModalFilterUPP): BOOLEAN;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $205F, $4E90;
  173.     {$ENDC}
  174.  
  175. PROCEDURE CallUserItemProc(theWindow: WindowPtr; itemNo: INTEGER; userRoutine: UserItemUPP);
  176.     {$IFC NOT GENERATINGCFM}
  177.     INLINE $205F, $4E90;
  178.     {$ENDC}
  179. {$IFC NOT STRICT_WINDOWS }
  180.  
  181. TYPE
  182.     DialogRecord = RECORD
  183.         window:                    WindowRecord;
  184.         items:                    Handle;
  185.         textH:                    TEHandle;
  186.         editField:                INTEGER;
  187.         editOpen:                INTEGER;
  188.         aDefItem:                INTEGER;
  189.     END;
  190.  
  191.     DialogPeek = ^DialogRecord;
  192.  
  193. {$ENDC}
  194.  
  195. TYPE
  196.     DialogTemplate = RECORD
  197.         boundsRect:                Rect;
  198.         procID:                    INTEGER;
  199.         visible:                BOOLEAN;
  200.         filler1:                BOOLEAN;
  201.         goAwayFlag:                BOOLEAN;
  202.         filler2:                BOOLEAN;
  203.         refCon:                    LONGINT;
  204.         itemsID:                INTEGER;
  205.         title:                    Str255;
  206.     END;
  207.  
  208.     DialogTPtr = ^DialogTemplate;
  209.     DialogTHndl = ^DialogTPtr;
  210.  
  211.     AlertTemplate = RECORD
  212.         boundsRect:                Rect;
  213.         itemsID:                INTEGER;
  214.         stages:                    StageList;
  215.     END;
  216.  
  217.     AlertTPtr = ^AlertTemplate;
  218.     AlertTHndl = ^AlertTPtr;
  219.  
  220.  
  221. PROCEDURE InitDialogs(ignored: UNIV Ptr);
  222.     {$IFC NOT GENERATINGCFM}
  223.     INLINE $A97B;
  224.     {$ENDC}
  225. PROCEDURE ErrorSound(soundProc: SoundUPP);
  226.     {$IFC NOT GENERATINGCFM}
  227.     INLINE $A98C;
  228.     {$ENDC}
  229. FUNCTION NewDialog(wStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; itmLstHndl: Handle): DialogRef;
  230.     {$IFC NOT GENERATINGCFM}
  231.     INLINE $A97D;
  232.     {$ENDC}
  233. FUNCTION GetNewDialog(dialogID: INTEGER; dStorage: UNIV Ptr; behind: WindowRef): DialogRef;
  234.     {$IFC NOT GENERATINGCFM}
  235.     INLINE $A97C;
  236.     {$ENDC}
  237. PROCEDURE CloseDialog(theDialog: DialogRef);
  238.     {$IFC NOT GENERATINGCFM}
  239.     INLINE $A982;
  240.     {$ENDC}
  241. PROCEDURE DisposeDialog(theDialog: DialogRef);
  242.     {$IFC NOT GENERATINGCFM}
  243.     INLINE $A983;
  244.     {$ENDC}
  245. PROCEDURE ParamText(param0: ConstStr255Param; param1: ConstStr255Param; param2: ConstStr255Param; param3: ConstStr255Param);
  246.     {$IFC NOT GENERATINGCFM}
  247.     INLINE $A98B;
  248.     {$ENDC}
  249. PROCEDURE ModalDialog(modalFilter: ModalFilterUPP; VAR itemHit: INTEGER);
  250.     {$IFC NOT GENERATINGCFM}
  251.     INLINE $A991;
  252.     {$ENDC}
  253. FUNCTION IsDialogEvent({CONST}VAR theEvent: EventRecord): BOOLEAN;
  254.     {$IFC NOT GENERATINGCFM}
  255.     INLINE $A97F;
  256.     {$ENDC}
  257. FUNCTION DialogSelect({CONST}VAR theEvent: EventRecord; VAR theDialog: DialogRef; VAR itemHit: INTEGER): BOOLEAN;
  258.     {$IFC NOT GENERATINGCFM}
  259.     INLINE $A980;
  260.     {$ENDC}
  261. PROCEDURE DrawDialog(theDialog: DialogRef);
  262.     {$IFC NOT GENERATINGCFM}
  263.     INLINE $A981;
  264.     {$ENDC}
  265. PROCEDURE UpdateDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  266.     {$IFC NOT GENERATINGCFM}
  267.     INLINE $A978;
  268.     {$ENDC}
  269. FUNCTION Alert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  270.     {$IFC NOT GENERATINGCFM}
  271.     INLINE $A985;
  272.     {$ENDC}
  273. FUNCTION StopAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  274.     {$IFC NOT GENERATINGCFM}
  275.     INLINE $A986;
  276.     {$ENDC}
  277. FUNCTION NoteAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  278.     {$IFC NOT GENERATINGCFM}
  279.     INLINE $A987;
  280.     {$ENDC}
  281. FUNCTION CautionAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $A988;
  284.     {$ENDC}
  285. PROCEDURE GetDialogItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  286.     {$IFC NOT GENERATINGCFM}
  287.     INLINE $A98D;
  288.     {$ENDC}
  289. PROCEDURE SetDialogItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  290.     {$IFC NOT GENERATINGCFM}
  291.     INLINE $A98E;
  292.     {$ENDC}
  293. PROCEDURE HideDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  294.     {$IFC NOT GENERATINGCFM}
  295.     INLINE $A827;
  296.     {$ENDC}
  297. PROCEDURE ShowDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  298.     {$IFC NOT GENERATINGCFM}
  299.     INLINE $A828;
  300.     {$ENDC}
  301. PROCEDURE SelectDialogItemText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  302.     {$IFC NOT GENERATINGCFM}
  303.     INLINE $A97E;
  304.     {$ENDC}
  305. PROCEDURE GetDialogItemText(item: Handle; VAR text: Str255);
  306.     {$IFC NOT GENERATINGCFM}
  307.     INLINE $A990;
  308.     {$ENDC}
  309. PROCEDURE SetDialogItemText(item: Handle; text: ConstStr255Param);
  310.     {$IFC NOT GENERATINGCFM}
  311.     INLINE $A98F;
  312.     {$ENDC}
  313. FUNCTION FindDialogItem(theDialog: DialogRef; thePt: Point): INTEGER;
  314.     {$IFC NOT GENERATINGCFM}
  315.     INLINE $A984;
  316.     {$ENDC}
  317. FUNCTION NewColorDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  318.     {$IFC NOT GENERATINGCFM}
  319.     INLINE $AA4B;
  320.     {$ENDC}
  321. FUNCTION GetAlertStage : INTEGER;
  322.     {$IFC NOT CFMSYSTEMCALLS}
  323.     INLINE $3EB8, $0A9A;            { MOVE.w $0A9A,(SP) }
  324.     {$ENDC}
  325.  
  326. PROCEDURE ResetAlertStage;
  327.     {$IFC NOT GENERATINGCFM}
  328.     INLINE $4278, $0A9A;
  329.     {$ENDC}
  330. PROCEDURE DialogCut(theDialog: DialogRef);
  331. PROCEDURE DialogPaste(theDialog: DialogRef);
  332. PROCEDURE DialogCopy(theDialog: DialogRef);
  333. PROCEDURE DialogDelete(theDialog: DialogRef);
  334. PROCEDURE SetDialogFont( value: INTEGER );
  335.     {$IFC NOT CFMSYSTEMCALLS}
  336.     INLINE $31DF, $0AFA;            { MOVE.w (SP)+,$0AFA }
  337.     {$ENDC}
  338.  
  339. PROCEDURE AppendDITL(theDialog: DialogRef; theHandle: Handle; method: DITLMethod);
  340. FUNCTION CountDITL(theDialog: DialogRef): INTEGER;
  341. PROCEDURE ShortenDITL(theDialog: DialogRef; numberItems: INTEGER);
  342. FUNCTION StdFilterProc(theDialog: DialogRef; VAR event: EventRecord; VAR itemHit: INTEGER): BOOLEAN;
  343. FUNCTION GetStdFilterProc(VAR theProc: ModalFilterUPP): OSErr;
  344.     {$IFC NOT GENERATINGCFM}
  345.     INLINE $303C, $0203, $AA68;
  346.     {$ENDC}
  347. FUNCTION SetDialogDefaultItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  348.     {$IFC NOT GENERATINGCFM}
  349.     INLINE $303C, $0304, $AA68;
  350.     {$ENDC}
  351. FUNCTION SetDialogCancelItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  352.     {$IFC NOT GENERATINGCFM}
  353.     INLINE $303C, $0305, $AA68;
  354.     {$ENDC}
  355. FUNCTION SetDialogTracksCursor(theDialog: DialogRef; tracks: BOOLEAN): OSErr;
  356.     {$IFC NOT GENERATINGCFM}
  357.     INLINE $303C, $0306, $AA68;
  358.     {$ENDC}
  359. {$IFC OLDROUTINENAMES }
  360. {$IFC NOT GENERATINGCFM }
  361. PROCEDURE CouldDialog(dialogID: INTEGER);
  362.     {$IFC NOT GENERATINGCFM}
  363.     INLINE $A979;
  364.     {$ENDC}
  365. PROCEDURE FreeDialog(dialogID: INTEGER);
  366.     {$IFC NOT GENERATINGCFM}
  367.     INLINE $A97A;
  368.     {$ENDC}
  369. PROCEDURE CouldAlert(alertID: INTEGER);
  370.     {$IFC NOT GENERATINGCFM}
  371.     INLINE $A989;
  372.     {$ENDC}
  373. PROCEDURE FreeAlert(alertID: INTEGER);
  374.     {$IFC NOT GENERATINGCFM}
  375.     INLINE $A98A;
  376.     {$ENDC}
  377. {$ENDC}
  378. PROCEDURE DisposDialog(theDialog: DialogRef);
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $A983;
  381.     {$ENDC}
  382. PROCEDURE UpdtDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $A978;
  385.     {$ENDC}
  386. PROCEDURE GetDItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $A98D;
  389.     {$ENDC}
  390. PROCEDURE SetDItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $A98E;
  393.     {$ENDC}
  394. PROCEDURE HideDItem(theDialog: DialogRef; itemNo: INTEGER);
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $A827;
  397.     {$ENDC}
  398. PROCEDURE ShowDItem(theDialog: DialogRef; itemNo: INTEGER);
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $A828;
  401.     {$ENDC}
  402. PROCEDURE SelIText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $A97E;
  405.     {$ENDC}
  406. PROCEDURE GetIText(item: Handle; VAR text: Str255);
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $A990;
  409.     {$ENDC}
  410. PROCEDURE SetIText(item: Handle; text: ConstStr255Param);
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $A98F;
  413.     {$ENDC}
  414. FUNCTION FindDItem(theDialog: DialogRef; thePt: Point): INTEGER;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $A984;
  417.     {$ENDC}
  418. FUNCTION NewCDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $AA4B;
  421.     {$ENDC}
  422. PROCEDURE DlgCut(theDialog: DialogRef);
  423. PROCEDURE DlgPaste(theDialog: DialogRef);
  424. PROCEDURE DlgCopy(theDialog: DialogRef);
  425. PROCEDURE DlgDelete(theDialog: DialogRef);
  426. PROCEDURE SetDAFont(fontNum: INTEGER);
  427.     {$IFC NOT GENERATINGCFM}
  428.     INLINE $31DF, $0AFA;
  429.     {$ENDC}
  430. {$ELSEC}
  431. {$ENDC}
  432.  
  433. {$ALIGN RESET}
  434. {$POP}
  435.  
  436. {$SETC UsingIncludes := DialogsIncludes}
  437.  
  438. {$ENDC} {__DIALOGS__}
  439.  
  440. {$IFC NOT UsingIncludes}
  441.  END.
  442. {$ENDC}
  443.